BeSwarm 1.0 for BeOS

Welcome to the BeSwarm readme file. BeSwarm is a module for the great 
screen saver by Hiroshi Lockheimer. If you don't have it yet, get it. 
BeSwarm is an implementation of the xswarm, originally from 
Jeff Butterworth (butterwo@cs.unc.edu).  BeSwarm is using some modules 
from Trevor Walker (twalker@carroll1.cc.edu), especially the tabbed 
view class and the ControlSlider class (to which i made a few 
enhancements). The classes were originally in his saver module 
"Electron Storm", a fine module with interesting effects. 
BeSwarm uses only the algorithm of the original xswarm. I ripped 
of the X-stuff, converted the swarm to a class and reimplemented the 
whole drawing using Be classes. I removed some of the unneeded 
functionality like running as a background window, which is a little 
bit difficult using BeOS, and bouncing on foreign window borders. You 
cannot position the wasp with the mouse, since this would be a little 
bit difficult for a screen saver module. Also i added some improvements 
to the original version like color cycling, a configurable number of wasps 
and hyperspace of wasps.These features and the other configuration options 
are described below. 

BeSwarm is (c) 1997 by Dirk Steins (dsteins@ibm.net). 

If you like it, drop me a mail. 

Disclaimer

I hate this stuff, but it is necessary.

THIS SOFTWARE IS PROVIDED "AS IS". YOU ARE USING THIS SOFTWARE AT YOUR OWN RISK.
THE AUTHOR (DIRK STEINS) IS NOT LIABLE FOR ANY DAMAGE CAUSED BY THE USE, NOT 
USE OR ABUSE OF BeSwarm OR BY THE INABILITY TO USE BeSwarm.  IF YOU ARE NOT 
SURE ABOUT THIS, OR IF YOU DON'T ACCEPT THIS, THEN DO NOT USE BeSwarm!

Installation

Simply copy BeSwarm to the saver's module folder. Start saver, 
and then it will be there. 

Configuration

BeSwarm is completely configurable. Nearly every parameter of the original 
xswarm which remained in use is open to modification through the interface, 
and the additional features also. 
Configuration is done using three tab views in the configuration view of 
saver. I will describe every option as best as i can. 

The Settings tab

This page controls the general parameters. 

Cycle colors:	With this checkbox  you enable or disable color cycling for 
	the bees pursuing the wasps. 

Cycle colors every n'th frame: 	With this slider you control how fast the 
	color of the bees cycles. If you wanna dizzy effects, you should set this 
	value to every frame (1), for more moderate natures you can set it to 
	higher values which mean a slower cycling.

Frames/sec.:	This controls the speed of the animation process. The animation
	will show the displayed number of frames per second. Note: The maximum 
	value of 200 is not the speed limit of the BeBox, the graphics system 
	could be faster. But this is so fast that the beauty of the swarm is not 
	recognizable any more, so i limited it to 200 frames/sec. 

Hyperspace:	Hyperspace is a very special feature. It enables the wasps to 
	escape the pursuing bees doing a hyperspace jump (engage!). The wasp 
	simply turns on a cloaking device for one frame, jumps to another location 
	and reappears there. This brings more life to the whole scenario, and it 
	is really nice to see how the bees try to catch up again with a wasp which 
	jumped away. The hyperspace appears after a random amount of time, so it is
	possible that a wasp will do more than one hyperspace jump in a very short 
	period. Of course the time is different for every wasp on screen. 
	
Max. time for hyperspace:	This controls the maximum time in which a 
	hyperspace jump for a wasp will occur. Every wasp will do a jump in this 
	amount of time.


The Bees tab

This tab view controls the behaviour of the bees. 

Number of Bees:	This controls how many bees will be pursuing the wasps. 
	Mininum value is 10, maximum is 400.

Bee acceleration:	This controls the maximum acceleration of the bees. 
	This value is normally lower than the wasp acceleration since bees are 
	bigger in size and not so agile as wasps. Minimum value is 1, maximum 
	value is 9.

Bee max. speed:	This controls the maximum speed of the bees. A bee will 
	never be faster than this max speed. Minimum value is 3, maximum is 19. 


The Wasps tab

This tab controls the behaviour of the wasps. It is very similar to the bee tab. 

Number of Wasps:	This controls the number of wasps on screen. I find a 
	swarm with more wasps than one a little bit more interesting, so i added 
	this feature. The default and minimum value is one wasp, the maximum is 
	eight wasps. I like values of three or four wasps.

Wasp acceleration:	This controls the maximum acceleration of the wasps. 
	Minimum value is 1, maximum value is 9. The default is 5.

Wasp max speed:	This controls the max speed of every wasp. No wasp will 
	travel faster than this value allows (except if the wasp is doing a 
	hyperspace jump). The default value is 12, mininum and maximum values 
	are 3 and 19. 

Border for wasp:	This controls how near a wasp can go to the screen 
	border. If a wasp reaches this border, it will turn around and 
	change direction. 


Bugs

I don't know of any bugs, but since BeSwarm is new, maybe there are some 
hidden in it. If you encounter strange behaviour, do not hesitate to 
contact me. 

Credits

First i will thank Be for this fine machine and their great operating system. 
Also i would like to thank Hiroshi Lockheimer for his fine saver and saverd 
(and some other work he has done like Styled Edit and the STE engine). Also 
i would like to thank Trevor Walker for his modules which i used. They were 
a great help to me. Also a thanks to Jeff Butterworth for the original xswarm, 
and a thanks to Stefan Graunke for the great idea of the hyperspacing wasps.

I hope you like BeSwarm, and if you do, it would be nice if you would drop 
me a mail.

The source code of BeSwarm is available on request. The source code is currently
not so clean that i want to show it to everyone ;-)